package com.kitwee.serialport.util;


import android.util.Log;

public final class SLog {

    private static final String TAG = "SerialPort";

    private SLog() {
    }

    public static void d(String msg) {
        log(LogLevel.DEBUG, msg);
    }

    public static void e(String msg) {
        log(LogLevel.ERROR, msg);
    }

    public static void w(String msg) {
        log(LogLevel.WARN, msg);
    }

    public static void i(String msg) {
        log(LogLevel.INFO, msg);
    }

    public static void wtf(String msg) {
        log(LogLevel.ASSERT, msg);
    }

    private static void log(LogLevel level, String msg) {
        log(TAG, level, msg);
    }

    private static void log(String tag, LogLevel level, String msg) {
        if (!DEBUG) {
            return;
        }
        switch (level) {
            case ERROR:
                Log.e(tag, msg);
                break;
            case DEBUG:
                Log.d(tag, msg);
                break;
            case WARN:
                Log.w(tag, msg);
                break;
            case INFO:
                Log.i(tag, msg);
                break;
            case VERBOSE:
                Log.v(tag, msg);
                break;
            case ASSERT:
                Log.wtf(tag, msg);
                break;
        }

    }

    private enum LogLevel {
        ERROR,
        DEBUG,
        WARN,
        INFO,
        VERBOSE,
        ASSERT
    }

    public static boolean DEBUG = false;

}
